package org.spring.beans;

import java.util.List;

public interface BeanDefination {

	public static final String SCOPE_SINGLETON = "singleton";
	public static final String SCOPE_PROTOTYPE = "prototype";
	public static final String SCOPE_DEFAULT = "";

	public String getBeanName();

	public boolean isSingleton();

	public boolean isProtoType();

	public String getScope();

	public String getID();

	public void setScope(String scope);

	public List<PropertyValue> getPropertyValues();

	public ConstructorArgument getConstructorArgument();

	public boolean hasConstructorArgumentValues();
	
	public Class<?> getBeanClass();
	
	public boolean hasBeanClass();
	
	public Class<?> resolveBeanClass(ClassLoader classLoader) throws ClassNotFoundException;

}
